//Copyright (c) Microsoft Corporation.  All rights reserved.

using System;
using System.Collections.Generic;
using System.Text;

namespace Eas.WebCrawler.Interfaces {
    /// <summary>Determines what uris (links) should be crawled.</summary>
    /// <remarks>The <see cref="WebCrawlerEngine"/> calls into this class when it encounters a link.  This class tells the engine if that link should also be crawled.</remarks>
    public interface LinkSelector : Eas.WebCrawler.Interfaces.WebCrawlerComponent{
        /// <summary>Determines whether or not a <see cref="Request"/> (link) should be crawled.</summary>
        /// <param name="request">The request which has just been encountered.</param>
        /// <returns><code>true</code> if the request should be crawled, otherwise <code>false</code>.</returns>
        bool ShouldFollow(Request request);
    }
}
